#ifndef _IM_SERVER_SOCK_MESSAGE_OUTLET_
#define _IM_SERVER_SOCK_MESSAGE_OUTLET_

#include "SockMessageOutletService_types.h"
#include "SockMessageOutletService.h"

#include "base/logging.h"
#include "melon/service/service_arch.h"
#include "melon/service/base_service_impl.h"

using namespace std;

namespace imserver {

class SockMessageOutletServiceHandler : public SockMessageOutletServiceIf, public melon::service::BaseServiceImpl {
public:
  SockMessageOutletServiceHandler() {
  }
  virtual void DistributeMessage(const std::set<int64_t>& uids, const ImMessage& message);
  virtual void KickCurrentConn(int64_t uid);
  virtual void GetOuterIPAndPort(std::string& _ret);
};

}

#endif // _IM_SERVER_SOCK_MESSAGE_OUTLET_
